ladybug: Add versions 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.20.4, 0.21.0, 0.21.1, 0.21.2 - #2475
riseproject-dev[bot] wants to merge 3 commits into
Conversation
|
76f5e4c to
447efd9
Compare
39fb7ba to
a75cf68
Compare
|
I can't rerun the failed job yet ( |
|
Update: two more distinct failures have come in from this version/interpreter matrix (7 versions × 4 interpreters = 28 jobs, still mostly in flight):
Holding off on any structural fix until more of the matrix finishes - with three different failure shapes across three different (version, interpreter) pairs so far, I want to see the full picture (which versions/interpreters are actually clean) before deciding what, if anything, needs a real fix versus just a rerun. |
|
Root-caused the segfault and the concurrent-query failure — both are 0.20.0-only, confirmed-fixed-upstream bugs, not riscv64-specific:
Confirmed version-scoped, not GIL-related: both failed identically on 0.20.0 cp314 and cp314t (same stack frame, same line), while 0.20.2 cp314t and 0.20.3 cp314t built and tested clean — ruling out the free-threading theory from my earlier comments. Pushed a fix that deselects both tests for Two other failures remain open, unrelated to the above:
|
|
Update: the per-test deselect from the previous comment was incomplete. A new matrix run surfaced a third crash — Rather than keep whack-a-moling individual tests as the matrix finds them, backported the two actual upstream C++ fixes instead:
Both verified to apply cleanly against the real v0.20.0 tree (not just the submodule) and pass |
… 0.21.1, 0.21.2 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com>
9493518 to
4a00153
Compare
…he bot's version bump dropped The nightly-upgrade bot force-pushes this branch from main plus its own docs/packages/ladybug.yaml bump every time check_versions.py finds a newer upstream release while the PR is still open, which silently discards every commit this branch carried that the bot doesn't know about - in this case all of it: the base riscv64-enablement patches for 0.20.0-0.21.1 (VMRegion reservation size, the interrupt-repeat test fix, and the riscv64 platform-extension report), 0.20.0's SIGSEGV backport, and 0.20.2's empty-pyarrow-scan backport. Restoring all three, plus carrying the same base patch set forward into the newly added 0.21.2 since it needs it for the same reason 0.20.0-0.21.1 originally did.
test_mvcc_bank.py::test_multi_writer_no_anomalies aborted once, on the 0.20.3 cp314t leg. glibc's assertion fired in pthread_mutex_lock under TaskScheduler::pushTaskIntoQueue. taskSchedulerMtx is a plain std::mutex, and every access to it goes through that lock, so a mutex whose owner field is already set means something else overwrote its memory. This is not a memory-ordering bug in the scheduler, and none of this branch's patches touch that code: the VMRegion fallback never runs with the test's 1 GiB max_db_size. Free threading is not the cause either. PyConnection::query releases the GIL around Connection::query on every interpreter, and _lbug's PYBIND11_MODULE declares no Py_mod_gil, so cp314t turns the GIL back on at import. All four legs run the same concurrent C++. The same upstream test file passed on the 0.20.2, 0.20.4, 0.21.0 and 0.21.1 cp314t legs, where 0.20.4 has the same python_api commit as 0.20.3, and on every GIL leg. 32 runs of upstream's x86_64 cp314 0.20.3 wheel also passed. That fits a rare race in enable_multi_writes. Upstream's CI tests only CPython 3.12 on x86_64 and ships no cp314t wheel.
Automatically generated by the nightly
check_versions.pyrun.ladybug v0.19.1 -> v0.20.0, v0.20.1, v0.20.2, v0.20.3, v0.20.4, v0.21.0, v0.21.1, v0.21.2
Every
- version:entry added todocs/packages/ladybug.yamlis built by this PR's ownbuild-ladybug.ymlrun; merging publishes the wheels.